﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.Logica.Clases;
using vudu.Logica.Excepciones;
using System.Data;
using vudu.EnlaceDatos.SqlServer;
using System.Data.SqlClient;

namespace vudu.PaginasWeb.G5Profesor
{
    public partial class ConsultarProfesorUniversidad : System.Web.UI.Page
    {
        
        
        private Universidad _miUniversidad;
        private SqlServerProfesor _miConsulta = new SqlServerProfesor();
        List<Profesor> _profe = new List<Profesor>();

        protected void Page_Load(object sender, EventArgs e)
        {

            inicioSesion();

            if (!IsPostBack)
            {
                if (pruebaConexion())
                {
                    tablaProfesores.DataSource = cargarTabla();
                    tablaProfesores.DataBind();
                }

            }

        }

        protected void BotonModificar_Click(object sender, EventArgs e)
        {
            if (tablaProfesores.SelectedIndex > -1)
            {

                _profe = new List<Profesor>();
                _profe = _miConsulta.ConsultarProfesorUniversidad(_miUniversidad.IdUniv.ToString());
                Session["aConsultar"] = _profe.ElementAt(tablaProfesores.SelectedIndex);
                Response.Redirect("ConsultarMiProfesorUniversidad.aspx");

            }
            else
            {
                avisoError(2);
            }
        }

        protected void BotonRegresar_Click(object sender, EventArgs e)
        {
            Response.Redirect("../Home/HomeEscuela.aspx"); 
        }

        protected void inicioSesion()
        {
            try
            {
                //OBJETO SESSION

               string miRol = (string)Session["rol"];
                if (miRol != "Universidad")
                    Response.Redirect("../G3AccesoSistema/InicioSistema.aspx");

                _miUniversidad = new Universidad();
                _miUniversidad = (Universidad)Session["Usuario"];
                nombreUniversidad.Text = _miUniversidad.Nombre;

            }
            catch (Exception)
            {
                _miUniversidad = new Universidad();
                _miUniversidad.IdUniv = 1;
                _miUniversidad = _miConsulta.ConsultarMiUniversidad(_miUniversidad.IdUniv.ToString());
                nombreUniversidad.Text = _miUniversidad.Nombre;
            }
            finally
            {
                //Miga Actual
                MigaActual.Text = "Consultar Profesor";

            }

        }

        protected void avisoError(int opcion)
        {
            switch (opcion)
            {
                case 1:
                    LabelError.Text = "Error en Conexión con Base de Datos";
                    break;
                case 2:
                    LabelError.Text = "Debe Seleccionar un Profesor";
                    break;
            }

            LabelError.Visible = true;
            LabelError.ForeColor = System.Drawing.Color.Red;
        }

        protected bool pruebaConexion()
        {
            Conexion miConexion = new Conexion();
            bool error = true;
            try
            {
                miConexion.AbrirConexionBd();
                miConexion.CerrarConexionBd();
            }
            catch (Exception)
            {
                avisoError(1);
                error = false;
            }

            return error;
        }

        public DataTable cargarTabla()
        {
            DataTable miTabla = new DataTable();


            miTabla.Columns.Add("Cédula", typeof(string));
            miTabla.Columns.Add("Apellido", typeof(string));
            miTabla.Columns.Add("Nombre", typeof(string));
            miTabla.Columns.Add("Fecha Nacimiento", typeof(string));
            miTabla.Columns.Add("Teléfono", typeof(string));
            miTabla.Columns.Add("Email", typeof(string));
            miTabla.Columns.Add("Status", typeof(string));
            miTabla.Columns.Add("Tiempo Laboral", typeof(string));

            try
            {

                _profe = _miConsulta.ConsultarProfesorUniversidad(_miUniversidad.IdUniv.ToString());

                foreach (Profesor profesor in _profe)
                {

                    miTabla.Rows.Add(profesor.Cedula, profesor.Apellido, profesor.Nombre, profesor.FechaNacimiento, profesor.Telefono, profesor.Email, profesor.Estatus, profesor.TiempoLaboral);
                }

                return miTabla;
            }
            catch (Exception)
            {
                avisoError(1);
                return null;
            }
        }





    }
}